Text Functions

Big Data and Analytics - ড্যাক্স ফাংশন (Dax Functions)
148
148

DAX (Data Analysis Expressions) হল একটি ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করার জন্য। Text functions DAX-এর একটি গুরুত্বপূর্ণ অংশ, যা ডেটার স্ট্রিং বা টেক্সট ভ্যালু নিয়ে কাজ করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলির মাধ্যমে আপনি টেক্সটের অংশ কেটে নেওয়া, একত্রিত করা, পরিবর্তন করা এবং ফরম্যাটিং করতে পারেন।


DAX Text Functions এর তালিকা

ড্যাক্সের Text Functions বিভিন্ন কাজের জন্য ব্যবহৃত হয়, যেমন টেক্সট স্ট্রিং যোগ করা, খালি স্থান মুছে ফেলা, টেক্সটকে বড় বা ছোট অক্ষরে রূপান্তর করা ইত্যাদি।

১. CONCATENATE()

CONCATENATE ফাংশনটি দুটি টেক্সট স্ট্রিং একত্রিত (concatenate) করতে ব্যবহৃত হয়।

Syntax:

CONCATENATE(<text1>, <text2>)

ব্যবহার:

Full Name = CONCATENATE(Customer[FirstName], Customer[LastName])

এটি FirstName এবং LastName কলামের মান একত্রিত করবে এবং Full Name তৈরি করবে।


২. & (Ampersand)

& অপারেটরটি টেক্সট স্ট্রিং যোগ করার জন্য ব্যবহৃত হয়। এটি CONCATENATE ফাংশনের বিকল্প।

Syntax:

<text1> & <text2>

ব্যবহার:

Full Name = Customer[FirstName] & " " & Customer[LastName]

এটি FirstName এবং LastName কলামের মান একত্রিত করবে এবং একটি স্পেস দিয়ে পার্থক্য করবে।


৩. UPPER()

UPPER ফাংশনটি একটি টেক্সট স্ট্রিংকে বড় হাতের অক্ষরে রূপান্তর করে।

Syntax:

UPPER(<text>)

ব্যবহার:

Uppercase Name = UPPER(Customer[FirstName])

এটি FirstName কলামের মানকে বড় হাতের অক্ষরে রূপান্তর করবে।


৪. LOWER()

LOWER ফাংশনটি একটি টেক্সট স্ট্রিংকে ছোট হাতের অক্ষরে রূপান্তর করে।

Syntax:

LOWER(<text>)

ব্যবহার:

Lowercase Name = LOWER(Customer[FirstName])

এটি FirstName কলামের মানকে ছোট হাতের অক্ষরে রূপান্তর করবে।


৫. TRIM()

TRIM ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে অতিরিক্ত স্পেস মুছে ফেলতে ব্যবহৃত হয়।

Syntax:

TRIM(<text>)

ব্যবহার:

Trimmed Name = TRIM(Customer[FullName])

এটি FullName কলামের অতিরিক্ত স্পেস মুছে ফেলবে।


৬. LEFT()

LEFT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের বাম দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।

Syntax:

LEFT(<text>, <num_characters>)

ব্যবহার:

First 3 Characters = LEFT(Customer[FirstName], 3)

এটি FirstName কলামের প্রথম তিনটি অক্ষর বের করে।


৭. RIGHT()

RIGHT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের ডান দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।

Syntax:

RIGHT(<text>, <num_characters>)

ব্যবহার:

Last 3 Characters = RIGHT(Customer[LastName], 3)

এটি LastName কলামের শেষ তিনটি অক্ষর বের করে।


৮. LEN()

LEN ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মোট অক্ষরের সংখ্যা নির্ধারণ করে।

Syntax:

LEN(<text>)

ব্যবহার:

Name Length = LEN(Customer[FullName])

এটি FullName কলামের অক্ষরের সংখ্যা বের করবে।


৯. FIND()

FIND ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে অন্য একটি স্ট্রিং খোঁজে এবং এর প্রথম উপস্থিতির অবস্থান প্রদান করে।

Syntax:

FIND(<find_text>, <within_text>, <start_position>, <not_found_value>)

ব্যবহার:

Position of 'a' = FIND("a", Customer[FirstName], 1, 0)

এটি FirstName কলামে প্রথম 'a' অক্ষরের অবস্থান জানাবে।


১০. REPLACE()

REPLACE ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে নির্দিষ্ট অংশ প্রতিস্থাপন করে।

Syntax:

REPLACE(<old_text>, <start_position>, <num_characters>, <new_text>)

ব্যবহার:

Replaced Name = REPLACE(Customer[FullName], 1, 4, "John")

এটি FullName কলামের প্রথম চারটি অক্ষর "John" দিয়ে প্রতিস্থাপন করবে।


১১. SUBSTITUTE()

SUBSTITUTE ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট অংশ অন্য একটি স্ট্রিং দিয়ে প্রতিস্থাপন করে।

Syntax:

SUBSTITUTE(<text>, <old_text>, <new_text>, [<instance_num>])

ব্যবহার:

Replaced Name = SUBSTITUTE(Customer[FullName], "Smith", "Johnson")

এটি FullName কলামের "Smith" শব্দটিকে "Johnson" দিয়ে প্রতিস্থাপন করবে।


১২. TEXT()

TEXT ফাংশনটি একটি সংখ্যা বা তারিখকে নির্দিষ্ট ফরম্যাটে টেক্সট হিসেবে রূপান্তর করে।

Syntax:

TEXT(<value>, <format>)

ব্যবহার:

Formatted Date = TEXT(Customer[JoinDate], "DD/MM/YYYY")

এটি JoinDate কলামের তারিখটিকে "DD/MM/YYYY" ফরম্যাটে রূপান্তর করবে।


সারাংশ

DAX Text Functions ডেটা বিশ্লেষণের জন্য গুরুত্বপূর্ণ টুল হিসেবে কাজ করে। এই ফাংশনগুলির মাধ্যমে আপনি text manipulation যেমন স্ট্রিং যোগ, প্রতিস্থাপন, কাটাছেঁড়া, এবং ফরম্যাটিং করতে পারেন। কগনোস বা Power BI-তে DAX Text Functions ব্যবহার করে আপনি আপনার ডেটার উপর বিস্তারিত বিশ্লেষণ করতে পারবেন এবং কাস্টম রিপোর্ট তৈরি করতে সক্ষম হবেন। DAX-এর এই টেক্সট ফাংশনগুলির মাধ্যমে সহজেই ডেটাকে আকারে রূপান্তর করা সম্ভব, যা কার্যকরী ডেটা বিশ্লেষণ এবং ব্যবসায়িক সিদ্ধান্ত গ্রহণে সহায়ক।

Content added By

CONCATENATE, CONCATENATEX এর মাধ্যমে Strings যোগ করা

80
80

DAX (Data Analysis Expressions) হল একটি এক্সপ্রেশন ভাষা যা বিশেষভাবে Power BI, Power Pivot এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং ক্যালকুলেশন করার জন্য ব্যবহৃত হয়। ড্যাক্সে CONCATENATE এবং CONCATENATEX দুটি গুরুত্বপূর্ণ ফাংশন যা strings যোগ করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলি বিভিন্ন ধরনের টেক্সট ডেটা একত্রিত করতে সাহায্য করে, যেমন নাম, ঠিকানা, বা অন্যান্য টেক্সট ভ্যালু যা পৃথক কলামে থাকে।

এই প্রবন্ধে, আমরা CONCATENATE এবং CONCATENATEX ফাংশন সম্পর্কে বিস্তারিত আলোচনা করব এবং কীভাবে এগুলি strings যোগ করতে ব্যবহৃত হয় তা দেখব।


CONCATENATE ফাংশন

CONCATENATE ফাংশনটি একটি সাধারণ ড্যাক্স ফাংশন যা দুটি টেক্সট স্ট্রিং একত্রিত করে একটি নতুন স্ট্রিং তৈরি করে। এটি খুব সহজ এবং সরলভাবে দুটি ভ্যালু বা কলামের মানকে যোগ করতে ব্যবহৃত হয়।

সিনট্যাক্স:

CONCATENATE(<Text1>, <Text2>)
  • : প্রথম টেক্সট স্ট্রিং বা কলাম যেটি যোগ করা হবে।
  • : দ্বিতীয় টেক্সট স্ট্রিং বা কলাম যেটি প্রথমের সাথে যোগ করা হবে।

উদাহরণ:

ধরা যাক, একটি Employee টেবিল রয়েছে যেখানে দুটি কলাম আছে: First Name এবং Last Name। যদি আপনি এই দুটি কলামকে একত্রিত করতে চান:

Full Name = CONCATENATE(Employee[First Name], Employee[Last Name])

এখানে, Full Name একটি নতুন কলাম হবে, যা First Name এবং Last Name একত্রিত করে একটি নতুন টেক্সট স্ট্রিং তৈরি করবে, যেমন "JohnDoe"।

সীমাবদ্ধতা:

  • CONCATENATE শুধুমাত্র দুটি ভ্যালু একত্রিত করতে পারে। যদি আপনাকে একাধিক কলাম বা ভ্যালু যোগ করতে হয়, তবে আপনাকে একাধিক CONCATENATE ফাংশন ব্যবহার করতে হবে, যা কোডটিকে জটিল করতে পারে।

CONCATENATEX ফাংশন

CONCATENATEX ফাংশনটি আরও শক্তিশালী এবং নমনীয়, কারণ এটি একাধিক রেকর্ড বা ভ্যালু একত্রিত করার জন্য ব্যবহার করা হয়, এবং আপনি এতে একটি delimiter (অর্থাৎ একটি পৃথককারী চিহ্ন) ব্যবহার করতে পারেন। এটি মূলত টেবিল বা কলামের ভ্যালুগুলিকে একত্রিত করতে ব্যবহৃত হয় এবং এটি filter context ব্যবহার করে ডেটার উপর অপারেশন করে।

সিনট্যাক্স:

CONCATENATEX(<Table>, <Expression>, <Delimiter>, <OrderBy_Expression>, <Order>)
  • : সেই টেবিল বা কলাম যা থেকে ডেটা সংগ্রহ করা হবে।
  • : যোগ করতে থাকা কলাম বা এক্সপ্রেশন যা আপনি একত্রিত করতে চান।
  • : দুটি ভ্যালুর মধ্যে কী চিহ্ন (যেমন: কমা, স্পেস, হাইফেন) থাকবে।
  • <OrderBy_Expression> (optional): ভ্যালুগুলিকে কোন ভিত্তিতে সাজানো হবে।
  • (optional): অর্ডারটি Ascending (ASC) বা Descending (DESC) হবে।

উদাহরণ:

ধরা যাক, Employee টেবিলে অনেক First Name এবং Last Name রয়েছে, এবং আপনি First Name এবং Last Name একত্রিত করতে চান, কিন্তু প্রতিটি নামের মধ্যে একটি কমা (,) এবং স্পেস দিয়ে আলাদা করতে চান। আপনি CONCATENATEX ফাংশন ব্যবহার করতে পারেন:

Full Name = CONCATENATEX(Employee, Employee[First Name] & " " & Employee[Last Name], ", ")

এখানে, Full Name কলামে প্রথম নাম এবং শেষ নাম comma এবং স্পেস দিয়ে যোগ হবে, যেমন:

John Doe, Jane Smith, Alan Turing

১. Multiple Values:

CONCATENATEX ফাংশন একাধিক ভ্যালুকে যোগ করতে সক্ষম, যেটি CONCATENATE ফাংশনের সীমাবদ্ধতাকে অতিক্রম করে।

২. Custom Delimiters:

এটি ব্যবহারকারীকে কাস্টম delimiter ব্যবহার করার সুযোগ দেয়, যেমন কমা, ড্যাশ, স্পেস, বা অন্যান্য চিহ্ন ব্যবহার করা।

৩. Ordering:

CONCATENATEX ফাংশনটি টেক্সটগুলিকে নির্দিষ্ট অর্ডারে সাজানোর জন্য OrderBy_Expression এবং Order প্যারামিটার ব্যবহার করতে পারে, যা ascending বা descending হতে পারে।


CONCATENATE এবং CONCATENATEX এর মধ্যে পার্থক্য

CriteriaCONCATENATECONCATENATEX
Usageদুটি টেক্সট স্ট্রিং একত্রিত করতে ব্যবহৃত হয়।একাধিক ভ্যালু বা রেকর্ড একত্রিত করতে ব্যবহৃত হয়।
Delimiterকোনো delimiter ব্যবহার করা যায় না।কাস্টম delimiter ব্যবহার করা যায়।
Multiple Valuesশুধুমাত্র দুটি মান যোগ করা যায়।একাধিক মান যোগ করা যায়।
Orderসজ্জিত করার কোনো অপশন নেই।ভ্যালুগুলিকে সাজানোর জন্য OrderBy এবং Order প্যারামিটার ব্যবহার করা যায়।
Contextএকটি সাধারণ দুটি মানের যোগফল সরবরাহ করে।ফিল্টার কনটেক্সট এবং টেবিলের মধ্যে সম্পর্ক ব্যবহার করে আরও শক্তিশালী ফলাফল প্রদান করে।

সারাংশ

CONCATENATE এবং CONCATENATEX দুটি গুরুত্বপূর্ণ DAX ফাংশন যা strings যোগ করার জন্য ব্যবহৃত হয়। CONCATENATE একটি সহজ ফাংশন যা দুটি টেক্সট স্ট্রিং একত্রিত করতে সাহায্য করে, তবে CONCATENATEX আরও উন্নত ফাংশন যা একাধিক টেক্সট ভ্যালু একত্রিত করতে, কাস্টম delimiter ব্যবহার করতে, এবং ভ্যালু সাজাতে সহায়ক। CONCATENATEX অনেক বেশি নমনীয় এবং পাওয়ারফুল, যা জটিল ডেটা ম্যানিপুলেশন এবং বিশ্লেষণ করতে ব্যবহৃত হয়। DAX ফাংশনগুলির মাধ্যমে আপনি ডেটা বিশ্লেষণ এবং কাস্টম রিপোর্ট তৈরি আরও সহজ এবং কার্যকরী করতে পারেন।

Content added By

LEFT, RIGHT, MID দিয়ে Text Extraction

84
84

DAX (Data Analysis Expressions) হল একটি শক্তিশালী এক্সপ্রেশন ল্যাঙ্গুয়েজ যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX এর মধ্যে টেক্সট ফাংশনগুলির ব্যবহার গুরুত্বপূর্ণ, কারণ এগুলি ডেটা মডেলিং এবং বিশ্লেষণের জন্য শক্তিশালী কাস্টম ক্যালকুলেশন তৈরিতে সহায়ক। LEFT, RIGHT, এবং MID ফাংশনগুলি ব্যবহৃত হয় টেক্সট স্ট্রিং থেকে নির্দিষ্ট অংশ বের করার জন্য। এই ফাংশনগুলির মাধ্যমে আপনি টেক্সট ডেটা বিশ্লেষণ করতে পারেন এবং কাস্টম রিপোর্ট তৈরি করতে সক্ষম হন।

এই প্রবন্ধে, আমরা LEFT, RIGHT, এবং MID ফাংশন ব্যবহার করে কিভাবে টেক্সট এক্সট্রাক্ট করা যায়, তা আলোচনা করব।


১. LEFT ফাংশন

LEFT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের বাম দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।

সিনট্যাক্স:

LEFT(<Text>, <Number_of_Characters>)
  • : এটি সেই টেক্সট বা কলাম যার থেকে অক্ষর বের করতে হবে।
  • <Number_of_Characters>: এটি সেই সংখ্যা যেটি দিয়ে নির্দিষ্ট করা হয় কতটি অক্ষর বাম দিক থেকে বের করা হবে।

ব্যবহার:

ধরা যাক, আপনার একটি ProductID কলাম রয়েছে যেখানে পণ্যের আইডি রয়েছে এবং আপনি প্রতিটি পণ্যের প্রথম 3 অক্ষর বের করতে চান, তাহলে এই ফাংশন ব্যবহার করবেন:

ProductPrefix = LEFT(Products[ProductID], 3)

এই ফর্মুলা Products[ProductID] কলামের প্রথম 3 অক্ষর বের করবে।


২. RIGHT ফাংশন

RIGHT ফাংশনটি একটি টেক্সট স্ট্রিংয়ের ডান দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।

সিনট্যাক্স:

RIGHT(<Text>, <Number_of_Characters>)
  • : এটি সেই টেক্সট বা কলাম যার থেকে অক্ষর বের করতে হবে।
  • <Number_of_Characters>: এটি সেই সংখ্যা যেটি দিয়ে নির্দিষ্ট করা হয় কতটি অক্ষর ডান দিক থেকে বের করা হবে।

ব্যবহার:

ধরা যাক, আপনার একটি InvoiceNumber কলাম রয়েছে এবং আপনি প্রতিটি ইনভয়েস নম্বরের শেষ 4 অক্ষর বের করতে চান, তাহলে এই ফাংশন ব্যবহার করবেন:

Last4Digits = RIGHT(Sales[InvoiceNumber], 4)

এই ফর্মুলা Sales[InvoiceNumber] কলামের শেষ 4 অক্ষর বের করবে।


৩. MID ফাংশন

MID ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে থেকে নির্দিষ্ট অবস্থান থেকে শুরু করে একটি নির্দিষ্ট সংখ্যক অক্ষর বের করে।

সিনট্যাক্স:

MID(<Text>, <Start_Position>, <Number_of_Characters>)
  • : এটি সেই টেক্সট বা কলাম যার থেকে অক্ষর বের করতে হবে।
  • <Start_Position>: এটি সেই অবস্থান যেখানে আপনি টেক্সট এক্সট্রাক্ট করা শুরু করবেন (1 থেকে শুরু হয়)।
  • <Number_of_Characters>: এটি সেই সংখ্যা যেটি দিয়ে নির্দিষ্ট করা হয় কতটি অক্ষর তথ্যভিত্তিক অবস্থান থেকে বের করা হবে।

ব্যবহার:

ধরা যাক, আপনার একটি ProductCode কলাম রয়েছে, এবং আপনি 2য় থেকে 4র্থ অক্ষর পর্যন্ত বের করতে চান, তাহলে এই ফাংশন ব্যবহার করবেন:

MiddleChars = MID(Products[ProductCode], 2, 3)

এই ফর্মুলা Products[ProductCode] কলামের 2য় অক্ষর থেকে শুরু করে 3টি অক্ষর বের করবে।


LEFT, RIGHT, এবং MID ফাংশনের ব্যবহার

এই তিনটি ফাংশন text extraction বা টেক্সট ডেটার অংশ বের করার জন্য অত্যন্ত কার্যকরী। DAX এ এই ফাংশনগুলি সাধারণত ব্যবহৃত হয়:

  • Data Cleaning: ডেটা পরিষ্কার করার সময় টেক্সট ডেটা থেকে নির্দিষ্ট অংশ বের করা।
  • Text Parsing: একটি কলাম থেকে বিভিন্ন অংশ আলাদা করা, যেমন ফোন নম্বরের বিভিন্ন অংশ (দেশ কোড, এলাকা কোড, এবং নম্বর) বের করা।
  • Data Extraction: বিশেষভাবে Product ID, Invoice Number, Postal Code ইত্যাদি থেকে তথ্য বের করা।

এই ফাংশনগুলি টেক্সট বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ এবং এগুলি খুব সহজেই ব্যবহার করা যায়। উদাহরণস্বরূপ, আপনি যদি কোনও EmployeeCode বা ProductID এর মধ্যে থেকে কিছু নির্দিষ্ট অংশ বের করতে চান, তখন আপনি এই ফাংশনগুলি ব্যবহার করতে পারেন।


সারাংশ

  • LEFT ফাংশন একটি টেক্সট স্ট্রিংয়ের বাম দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
  • RIGHT ফাংশন একটি টেক্সট স্ট্রিংয়ের ডান দিক থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।
  • MID ফাংশন একটি টেক্সট স্ট্রিংয়ের নির্দিষ্ট অবস্থান থেকে নির্দিষ্ট সংখ্যক অক্ষর বের করে।

DAX-এর এই ফাংশনগুলি আপনার ডেটা বিশ্লেষণকে আরও শক্তিশালী এবং কার্যকরী করে তোলে, বিশেষ করে যখন আপনাকে বড় টেক্সট স্ট্রিংয়ের মধ্যে থেকে নির্দিষ্ট অংশ বের করতে হয়।

Content added By

UPPER, LOWER, TRIM এর মাধ্যমে Text Manipulation

80
80

DAX (Data Analysis Expressions) হলো একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরির জন্য। DAX ফাংশনগুলির মধ্যে কিছু গুরুত্বপূর্ণ ফাংশন রয়েছে যা text manipulation-এ ব্যবহৃত হয়। এই ফাংশনগুলির মধ্যে UPPER, LOWER, এবং TRIM খুবই জনপ্রিয়, কারণ এগুলি টেক্সট ডেটা নিয়ে কাজ করার সময় খুবই কার্যকরী।

এই ফাংশনগুলি ব্যবহার করে আপনি টেক্সটের কেস পরিবর্তন করতে পারেন, অতিরিক্ত স্পেস অপসারণ করতে পারেন এবং ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরি করার সময় টেক্সট ফিল্ডকে আরও সুসংগঠিত করতে পারেন।


১. UPPER ফাংশন

UPPER ফাংশনটি একটি টেক্সট স্ট্রিংয়ের সমস্ত অক্ষরকে বড় হাতের অক্ষরে (uppercase) রূপান্তরিত করে। এটি একটি খুবই সহজ এবং জনপ্রিয় ফাংশন, যা টেক্সট ডেটার কেস নিয়ন্ত্রণ করতে ব্যবহৃত হয়।

ব্যবহার:

UPPER(<Text>)

উদাহরণ:

ধরা যাক, আপনার একটি টেবিল Customers আছে, যেখানে CustomerName কলামে গ্রাহকদের নাম রয়েছে। আপনি যদি সমস্ত নাম বড় হাতের অক্ষরে পরিবর্তন করতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করবেন:

CustomerNameUpper = UPPER(Customers[CustomerName])

এই ফাংশনটি Customers[CustomerName] কলামের সমস্ত নামকে বড় হাতের অক্ষরে রূপান্তরিত করবে, যেমন "john doe" কে "JOHN DOE" তে পরিবর্তন করবে।


২. LOWER ফাংশন

LOWER ফাংশনটি একটি টেক্সট স্ট্রিংয়ের সমস্ত অক্ষরকে ছোট হাতের অক্ষরে (lowercase) রূপান্তরিত করে। এটি সেই ক্ষেত্রগুলির জন্য কার্যকর যেখানে আপনি টেক্সটের কেস কমাতে চান।

ব্যবহার:

LOWER(<Text>)

উদাহরণ:

যদি আপনি Customers টেবিলের CustomerName কলামের সমস্ত নাম ছোট হাতের অক্ষরে পরিবর্তন করতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করবেন:

CustomerNameLower = LOWER(Customers[CustomerName])

এই ফাংশনটি Customers[CustomerName] কলামের সমস্ত নামকে ছোট হাতের অক্ষরে রূপান্তরিত করবে, যেমন "JOHN DOE" কে "john doe" তে পরিবর্তন করবে।


৩. TRIM ফাংশন

TRIM ফাংশনটি একটি টেক্সট স্ট্রিংয়ের শুরু এবং শেষে থাকা অতিরিক্ত (extra) স্পেসগুলো অপসারণ করে। এটি টেক্সট ডেটাকে আরও পরিষ্কার এবং সঠিকভাবে বিশ্লেষণ করার জন্য ব্যবহৃত হয়। TRIM শুধুমাত্র শুরুর এবং শেষের অতিরিক্ত স্পেস অপসারণ করে, মধ্যবর্তী স্পেসগুলো ধরে রাখে।

ব্যবহার:

TRIM(<Text>)

উদাহরণ:

ধরা যাক, Customers টেবিলের CustomerName কলামে কিছু গ্রাহকের নামের শুরু বা শেষে অতিরিক্ত স্পেস রয়েছে। আপনি যদি এই অতিরিক্ত স্পেসগুলো অপসারণ করতে চান, তাহলে আপনি TRIM ফাংশন ব্যবহার করবেন:

TrimmedCustomerName = TRIM(Customers[CustomerName])

এই ফাংশনটি Customers[CustomerName] কলামের নাম থেকে শুরু এবং শেষে থাকা সমস্ত অতিরিক্ত স্পেস অপসারণ করবে, যেমন " john doe " কে "john doe" তে পরিবর্তন করবে।


UPPER, LOWER, TRIM ফাংশনের ব্যবহারিক সুবিধা

১. ডেটা পরিষ্কার করা (Data Cleaning)

TRIM ফাংশন ব্যবহার করে আপনি ডেটার শুরু এবং শেষে অতিরিক্ত স্পেস সরিয়ে ফেলতে পারেন, যা বিশ্লেষণ এবং রিপোর্ট তৈরি করার সময় গুরুত্বপূর্ণ।

২. টেক্সট স্ট্যান্ডার্ডাইজেশন (Text Standardization)

UPPER এবং LOWER ফাংশন ব্যবহার করে আপনি টেক্সট ডেটাকে একরকম স্ট্যান্ডার্ডাইজড কেসে নিয়ে আসতে পারেন, যাতে ডেটার সাথে কাজ করা সহজ হয় এবং কেস সংক্রান্ত ভুল কমে।

৩. ইন্টার‌্যাকটিভ বিশ্লেষণ (Interactive Analysis)

যখন আপনি কগনোস বা Power BI-তে বিশ্লেষণ করছেন এবং বিভিন্ন টেক্সট মানের সাথে কাজ করছেন, তখন UPPER, LOWER, এবং TRIM ফাংশনগুলি ডেটা বিশ্লেষণকে আরও সুগম এবং কার্যকরী করে তোলে।


DAX Functions for Text Manipulation (Text Functions)

এছাড়াও, DAX এর অনেক অন্যান্য ফাংশন রয়েছে যা টেক্সট ম্যানিপুলেশনকে আরও কার্যকরী করে তোলে:

১. CONCATENATE

এই ফাংশনটি দুটি বা আরও বেশি টেক্সট স্ট্রিংকে একত্রিত করে। উদাহরণ:

FullName = CONCATENATE(Customers[FirstName], " " & Customers[LastName])

২. REPLACE

এই ফাংশনটি একটি নির্দিষ্ট অংশের টেক্সট অন্য টেক্সট দিয়ে প্রতিস্থাপন করে। উদাহরণ:

NewText = REPLACE(Customers[CustomerID], 1, 2, "XX")

৩. TEXT

এই ফাংশনটি সংখ্যাকে টেক্সটে রূপান্তর করে এবং নির্দিষ্ট ফরম্যাটে প্রদর্শন করে। উদাহরণ:

FormattedDate = TEXT(Order[OrderDate], "YYYY-MM-DD")

সারাংশ

UPPER, LOWER, এবং TRIM হল ড্যাক্সের মৌলিক এবং অত্যন্ত গুরুত্বপূর্ণ ফাংশন যা টেক্সট ডেটা ম্যানিপুলেশন এবং বিশ্লেষণের জন্য ব্যবহৃত হয়। এগুলির মাধ্যমে আপনি টেক্সটের কেস পরিবর্তন করতে পারেন, অতিরিক্ত স্পেস অপসারণ করতে পারেন এবং ডেটাকে আরও পরিষ্কার ও সঠিকভাবে বিশ্লেষণ করতে সক্ষম হন। এই ফাংশনগুলির সঠিক ব্যবহার ডেটাকে আরও কার্যকরী এবং তথ্যভিত্তিক রিপোর্ট তৈরি করতে সহায়ক হয়।

Content added By

SEARCH এবং FIND এর মাধ্যমে Text খোঁজা

95
95

DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। এটি ডেটা মডেলিং এবং বিশ্লেষণ কাজগুলোকে সহজ এবং শক্তিশালী করে তোলে। ড্যাক্সে SEARCH এবং FIND ফাংশন দুটি টেক্সট খোঁজার জন্য ব্যবহৃত হয়। এগুলি টেক্সট স্ট্রিংয়ের মধ্যে নির্দিষ্ট শব্দ বা অক্ষর খুঁজে বের করার জন্য ব্যবহৃত হয়, তবে তাদের মধ্যে কিছু পার্থক্যও রয়েছে।

এই ফাংশনগুলি ব্যবহার করে আপনি সহজেই ডেটার মধ্যে কোনও নির্দিষ্ট টেক্সট, শব্দ, বা অক্ষরের অবস্থান খুঁজে বের করতে পারেন, যা রিপোর্ট এবং ড্যাশবোর্ডের জন্য অত্যন্ত উপকারী হতে পারে।


১. SEARCH ফাংশন

SEARCH ফাংশনটি একটি টেক্সট স্ট্রিংয়ের মধ্যে একটি নির্দিষ্ট শব্দ বা অক্ষরের অবস্থান খুঁজে বের করার জন্য ব্যবহৃত হয়। এটি ক্যাপিটাল/লিটল কেস (case-insensitive) এবং একটি অংশের মেলা (partial match) সমর্থন করে। অর্থাৎ, এটি বড় অক্ষর এবং ছোট অক্ষরের পার্থক্য বুঝে না এবং এটি টেক্সটের প্রথম অংশে মিল খুঁজে পায়।

SEARCH ফাংশনের সিনট্যাক্স:

SEARCH(<find_text>, <within_text>, [start_position], [not_found_value])
  • find_text: যে টেক্সট বা শব্দটি আপনি খুঁজতে চান।
  • within_text: যে টেক্সট বা কলামে আপনি খোঁজার জন্য অনুসন্ধান করবেন।
  • start_position (ঐচ্ছিক): অনুসন্ধান শুরু করার অবস্থান। ডিফল্ট মান হলো 1 (যা প্রথম চরিত্র থেকে শুরু হয়)।
  • not_found_value (ঐচ্ছিক): যদি টেক্সট না পাওয়া যায়, তবে আপনি কোন মান রিটার্ন করতে চান।

SEARCH ফাংশনের উদাহরণ:

SEARCH("apple", "I have an apple", 1, 0)

এই ফাংশনটি "I have an apple" টেক্সটের মধ্যে "apple" শব্দটি খুঁজবে এবং এর অবস্থান রিটার্ন করবে (এখানে এটি 12)। যদি "apple" শব্দটি না পায়, তবে এটি 0 রিটার্ন করবে, কারণ আমরা not_found_value হিসেবে 0 নির্ধারণ করেছি।


২. FIND ফাংশন

FIND ফাংশনটি ঠিক একইভাবে কাজ করে, তবে এটি case-sensitive (বড় এবং ছোট অক্ষর পার্থক্য সহ) এবং exact match সমর্থন করে। অর্থাৎ, এটি ক্যাপিটাল এবং ছোট অক্ষরের পার্থক্যকে স্বীকৃতি দেয় এবং এটি যে টেক্সটটি আপনি খুঁজছেন তার সঠিক অবস্থান খুঁজে বের করে।

FIND ফাংশনের সিনট্যাক্স:

FIND(<find_text>, <within_text>, [start_position], [not_found_value])
  • find_text: যে টেক্সট বা শব্দটি আপনি খুঁজতে চান।
  • within_text: যে টেক্সট বা কলামে আপনি খোঁজার জন্য অনুসন্ধান করবেন।
  • start_position (ঐচ্ছিক): অনুসন্ধান শুরু করার অবস্থান। ডিফল্ট মান হলো 1 (যা প্রথম চরিত্র থেকে শুরু হয়)।
  • not_found_value (ঐচ্ছিক): যদি টেক্সট না পাওয়া যায়, তবে আপনি কোন মান রিটার্ন করতে চান।

FIND ফাংশনের উদাহরণ:

FIND("apple", "I have an Apple", 1, 0)

এটি "I have an Apple" টেক্সটের মধ্যে Apple (বড় অক্ষরে "A") শব্দটি খুঁজে পাবে না, কারণ FIND ফাংশনটি case-sensitive। ফলস্বরূপ এটি 0 রিটার্ন করবে, কারণ এখানে "apple" (ছোট অক্ষরে) এবং "Apple" (বড় অক্ষরে) মিলছে না।


SEARCH এবং FIND এর মধ্যে পার্থক্য

ফিচারSEARCHFIND
Case SensitivityCase-insensitiveCase-sensitive
Partial MatchingSupports partial matchingSupports exact matching
Use Caseযখন আপনাকে বড় এবং ছোট অক্ষরের পার্থক্য না দেখলে খুঁজতে হয়যখন আপনাকে exact match এবং case-sensitive matching দরকার
Error Handlingnot_found_value নির্ধারণ করা যাবেnot_found_value নির্ধারণ করা যাবে

SEARCH এবং FIND ফাংশন ব্যবহার করে Text খোঁজার উদাহরণ

১. SEARCH ফাংশন উদাহরণ (Partial Match and Case-insensitive):

ধরা যাক, আমাদের "Product Names" কলামে কিছু পণ্যের নাম রয়েছে, এবং আমরা খুঁজতে চাই যদি সেই পণ্যের নামের মধ্যে "apple" থাকে।

SEARCH("apple", Products[ProductName], 1, 0)

এই ফাংশনটি "Products" টেবিলের ProductName কলামে "apple" শব্দটি খুঁজে বের করবে, এবং এটি ক্যাপিটাল বা ছোট অক্ষরের পার্থক্য না বুঝে প্রথম মিল খুঁজে ফেলবে। যদি পণ্য নামের মধ্যে "apple" থাকে, তবে এটি পজিশন রিটার্ন করবে, অন্যথায় 0 রিটার্ন করবে।

২. FIND ফাংশন উদাহরণ (Exact Match and Case-sensitive):

ধরা যাক, আমাদের "Product Names" কলামে কিছু পণ্যের নাম রয়েছে এবং আমরা শুধুমাত্র "Apple" (বড় অক্ষরে) পণ্যটি খুঁজতে চাই।

FIND("Apple", Products[ProductName], 1, 0)

এই ফাংশনটি "Products" টেবিলের ProductName কলামে "Apple" শব্দটি খুঁজে বের করবে এবং এটি শুধুমাত্র exact match এবং case-sensitive অনুসারে কাজ করবে। যদি "Apple" নামের পণ্য থাকে, তবে এটি পজিশন রিটার্ন করবে, অন্যথায় 0 রিটার্ন করবে।


অতিরিক্ত টিপস

  • Multiple Occurrences (একাধিকOccurrences): আপনি যদি একই টেক্সটের মধ্যে একাধিক occurrences খুঁজে বের করতে চান, তবে আপনি SEARCH অথবা FIND ফাংশনকে MID এবং LEFT ফাংশনের সাথে কম্বিনে ব্যবহার করতে পারেন।
  • Error Handling: যদি আপনি নিশ্চিত না হন যে টেক্সটটি খুঁজে পাওয়া যাবে কি না, তবে আপনি IFERROR অথবা ISNUMBER ফাংশন ব্যবহার করে ভুলের ক্ষেত্রে ডিফল্ট মান প্রদান করতে পারেন।

    উদাহরণ:

    IFERROR(SEARCH("apple", Products[ProductName], 1, 0), "Not Found")
    

সারাংশ

SEARCH এবং FIND ফাংশনগুলি DAX ভাষায় টেক্সট খোঁজার জন্য অত্যন্ত গুরুত্বপূর্ণ এবং কার্যকরী টুল। SEARCH ফাংশনটি case-insensitive এবং partial matching সমর্থন করে, যেখানে FIND ফাংশনটি case-sensitive এবং exact match এর জন্য ব্যবহৃত হয়। এই ফাংশনগুলি ব্যবহার করে আপনি ডেটার মধ্যে নির্দিষ্ট টেক্সট, শব্দ, অথবা অক্ষরের অবস্থান সহজেই খুঁজে বের করতে পারেন, যা রিপোর্ট এবং বিশ্লেষণ প্রক্রিয়া আরও কার্যকরী করে তোলে।

Content added By
Promotion